package com.lxw.question;

public class Q17 {
    /**
     * 题目描述
     * 求 1+2+...+n ，要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句（A?B:C）。
     */

    /**
     * 使用等差公式
     * @param n
     * @return
     */
    public int sumNums(int n) {
        int sum = n*(1+n);
        sum = sum/2;
        return sum;
    }

    /**
     * 利用&&运算符短路的特性：妙啊
     * @param n
     * @return
     */
    public int sumNums2(int n){
        int sum = n;
        boolean flag = n > 0 && (sum = sum + sumNums2(n-1)) > 0;
        return sum;
    }
}
